/*
 * Phone.h
 *
 *  Created on: 30 Ξ�Ξ±Ο� 2010
 *      Author: Sartios
 */

#ifndef PHONE_H_
#define PHONE_H_

#include <string>
using namespace std;

#include "IPhone.h"

/**
 * The phone class which implements IPhone general phone interface
 */
class Phone : public IPhone {
public:
	/**
	 *
	 */
	Phone();
	/**
	 * Sets object attributes to the parameters
	 * \param number, phone number
	 * \param category, phone category
	 */
	Phone(const string *number,const string *category);

	/**
	 * Deletes the pointers to phone number and phone category
	 */
	virtual ~Phone();

	/**
	 * Set phone number
	 * \param number, the phone number
	 */
	virtual void	setNumber(const string *number);

	/**
	 * Returns phone number
	 * \return string	*, the phone number
	 */
	virtual string	*	getNumber()const;

	/**
	 * Sets the phone category
	 * \param category, phone's category (e.x. home, mobile, fax, etc.)
	 */
	virtual void	setCategory(const string *category);

	/**
	 * Returns the phone's category
	 * \return string	*, phone's category (e.x. home, mobile, fax, etc.)
	 */
	virtual string	*	getCategory()const;

private:
	string	*number_;
	string	*category_;
};

#endif /* PHONE_H_ */
